//二分查找 力扣704
//查找一对一 左闭右开 左闭右闭 循环条件：< <= 不相邻
//查找多对一、一对多 左闭右开 左开右闭 循环条件：不相邻
//区间选择的影响：左右指针的初值、循环条件、左右指针的调整、mid的
class Solution {
public:
	int search(vector<int>& nums, int target) 
	{
		int l = -1;
		int r = nums.size()-1;
		while(l + 1 != r)
		{
			int mid = l + ((r - l) / 2);
			if(nums[mid] < target) l =  mid;
			else if(nums[mid] > target) r = mid ;
			else return r=mid;
		}
		if(nums[r] == target) return r;
		return -1;
	}
};
